// views/orderDetail/orderDetail.js
const db = wx.cloud.database({
  env: 'nzxyb-5gsp2tia41c3b11d'
})
Page({

  /**
   * 页面的初始数据
   */
  data: {
    orderData: {}, //查询初始化数据
    isHiddenUpdate: true, //是否显示修改按钮
    isOrderList:['待接单','待配送','配送完成']
  },

  /* 
  函数集
  */

  //显示修改订单按钮(修改订单)
  isShowUpdate() {
    this.setData({
      isHiddenUpdate: !this.data.isHiddenUpdate
    })
  },

  //隐藏修改订单按钮（取消修改）
  isHiddenUpdate() {
    /* 
        this.setData({
          isHiddenUpdate: !this.data.isHiddenUpdate
        }) */
    //重新跳转此页面，刷新数据
    wx.redirectTo({
      url: `/views/orderDetail/orderDetail?orderId=${this.data.orderData.orderId}`,
    })
  },

  //取消订单
  removeOrder() {
    //提示用户是否确认取消订单
    wx.showModal({
      title: '是否取消订单',
      success: (res) => {
        if (res.confirm) { //判断点击确认
          db.collection('t_order').doc(this.data.orderData._id).remove({
            success: (res) => { //删除订单成功
              console.log("删除订单成功", res)
              wx.showToast({ //弹窗提示
                title: '删除订单成功',
                complete: (res) => {
                  //返回订单页
                  wx.navigateBack({})
                }
              })
            },
            fail: (res) => { //删除订单失败
              wx.showToast({
                title: '删除订单失败',
              })
              console.log("删除订单失败", res)
            }
          })
        }
      }
    })
  },

  //监听input修改
  listenOrderData(e) {
    this.setData({
      [e.target.id]: e.detail
    })
  },

  //提交修改后的订单数据
  updateOrderDate() {
    //删除订单数据中的_openid
    this.setData({//保存字段id
      _id:this.data.orderData._id ? this.data.orderData ._id : this.data._id
    }) 
    delete this.data.orderData._openid //删除数据库默认字段
    delete this.data.orderData._id //删除数据库默认字段
    console.log(this.data._id)
    db.collection('t_order').doc(this.data._id).set({ //更新数据库
      data: this.data.orderData,
      success: (res) => { //更新数据成功
        wx.showToast({ //弹窗提示用户
          title: '修改成功',
          mask:true
        })
        this.setData({
          isHiddenUpdate:!this.data.isHiddenUpdate
        })
        console.log("更新数据成功", res)
      },
      fail: (res) => { //更新数据失败
        wx.showToast({ //弹窗提示用户
          title: '修改失败',
          icon:'error'
        })
        console.log("更新数据失败", res)
      }
    })
  },







  /**
   * 生命周期函数--监听页面显示
   */
  onLoad: function (e) {
    //通过订单编号查询订单数据
    db.collection('t_order').where({
      _id: e._id
    }).get({
      success: (res) => { //获取数据成功
        this.setData({
          orderData: res.data[0]
        })
        console.log("通过订单查询订单数据成功", res)
      },
      fail: (res) => {
        console.log("通过订单查询订单数据失败", res)
      }
    })
  }
})